/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Centrala;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;
import marcin.belzowski.uslugi.Kierowca;
import marcin.belzowski.uslugi.Samochod;
import marcin.belzowski.uslugi.Stawka;

/**
 *
 * @author Marcin
 */
@Stateless
public class Kier implements KierRemote {
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("FirmaPU");
    EntityManager em = emf.createEntityManager();

    public List<Kierowca> wyszukajKier(String imie, String nazwisko) {
        Query q = em.createQuery("select k from Kierowca k where k.imie = ?1 and k.nazwisko = ?2 ");
        q.setParameter(1, imie);
        q.setParameter(2, nazwisko);

        return q.getResultList();
    }
    public void zapisz(Kierowca kierowca, Double stawka) {
        Stawka s = new Stawka();
        s.setWartosc(stawka);
        kierowca.setStawka(s);
        Samochod samochod = new Samochod();
        kierowca.setSamochod(samochod);
        samochod.setKierowca(kierowca);
        samochod.setWolny(true);
        s.setKierowca(kierowca);
        em.getTransaction().begin();
        em.persist(samochod);
        em.persist(s);
        em.persist(kierowca);
        em.getTransaction().commit();



    }

    public void odarchiwizuj(Kierowca get) {
        Kierowca k = em.getReference(Kierowca.class, get.getId());
        k.setArchiwalny(false);
        em.getTransaction().begin();
        em.persist(k);
        em.getTransaction().commit();
    }
    public void usun(Kierowca kierowca) {
        Kierowca k = em.getReference(Kierowca.class, kierowca.getId());
        k.setArchiwalny(true);
        em.getTransaction().begin();
        em.persist(k);
        em.getTransaction().commit();
        
    }
    public void zatwierdz(Stawka stawka, double nowaWartosc) {
        Stawka s = em.getReference(Stawka.class,stawka.getId());
        s.setWartosc(nowaWartosc);
        em.getTransaction().begin();
        em.persist(s);
        em.getTransaction().commit();
    }



 
}
